﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright company="Luis de la Torre" file="Program.cs">
//   Copyright Luis de la Torre, unless otherwise indicated
// </copyright>
// <summary>
//   
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace PVRP_SR
{
    /// <summary>
    /// The program.
    /// </summary>
    public class Program
    {
        #region Public Methods and Operators

        /// <summary>
        /// The main.
        /// </summary>
        /// <param name="args">
        /// The args.
        /// </param>
        public static void Main(string[] args)
        {
            TSPLIBParser pvrpInstance =
                new TSPLIBParser(
                    "C:/Users/ledelato/Dropbox/stochasticPeriodicVRP/conVRPInstances/ConVRP_small_problems/convrp_10_test_1_special.vrp");
            pvrpInstance.Parse();
            pvrpInstance.NormalizeWithRespectToDepot();
            pvrpInstance.CalcEucDistances();
            RandomInitialSolution randomInitialSolution = new RandomInitialSolution();
            PvrpSrSolution solution = randomInitialSolution.CreateSolution(pvrpInstance);

            // CheapestInsertion cheapestInsertion = new CheapestInsertion();

            // PvrpSrSolution pvrpSrSolution = cheapestInsertion.CreateSolution(pvrpInstance);
            // AssignSpecialToClosestRegular assignSpecialToClosestRegular = new AssignSpecialToClosestRegular(pvrpSrSolution);
            // assignSpecialToClosestRegular.ImproveSolution(pvrpSrSolution);
            TabuSearch tabuSearch = new TabuSearch(solution, 1000, 1000, 1000, 3, 3);
            tabuSearch.ImproveSolution(solution);
        }

        #endregion
    }
}